#pragma once

#pragma unmanaged

#include <BWSAL\BuildingPlacer.h>

#pragma managed

#include <vcclr.h>
#include "Interfaces\IBuildingPlacer.h"

using namespace System;

namespace BroodWar
{
	namespace Addon
	{
		public class BuildingPlacerImpl : public BWSAL::BuildingPlacer
		{
		private:
			gcroot<IBuildingPlacer^> _handle;
		public:
			BuildingPlacerImpl(IBuildingPlacer^ handle);
			virtual BWAPI::TilePosition findBuildLocation(
				BWSAL::ReservedMap* reserveMap,
				BWAPI::UnitType unitType,
				BWAPI::TilePosition seedLocation,
				BWAPI::Unit* builder = NULL);
		};
	}
}
